package cz.cuni.mff.ufal.volk;

import java.io.Serializable;
import java.util.Map;

/**
 * A common natural language expression.
 *
 * <p>The expression should be immutable. It can be used as the key in a {@link Map},
 * therefore any class which implements this interface should implement
 * {@link Object#equals(Object)} and {@link Object#hashCode()} methods.</p>
 *
 * @see Text
 * @see Speech
 *
 * @author Bartłomiej Etenkowski
 */
public interface Expression extends Serializable {

  /**
   * Gets the language of the expression.
   * @return the language of the expression
   */
  String getLanguage();

}
